Every network interface has a media access controller (MAC) address, also known as the physical address. This is the actual hardware address that the lowest level of the network uses to communicate. The MAC address is used to assign the IP address to a device by means of a dynamic host configuration protocol (DHCP) server.
The MAC address is theoretically unique to a particular device. This permits an IP network service provider to use the MAC address as a vehicle for authorizing access to its network and further aids in billing users for services. In the cable environment, access to the cable network's data service is provided through a cable modem (CM). Increasingly, CMs are required to comply with an industry standard referred to as the “Data Over Cable Service Interface Specification” or DOCSIS. DOCSIS provides a set of standards and a certifying authority by which cable companies can achieve cross-platform functionality in Internet delivery. A DOCSIS compliant cable network comprises cable modem termination systems (CMTSs) and cable modems that form the interface to an Internet service provider (ISP). The CM modem provides two-way connectivity between a customer and the ISP through the CMTS. A cable modem termination system (CMTS) is a component that exchanges digital signals with cable modems on a cable network.
A data service is delivered to a subscriber through channels in a coaxial cable to a CM. An upstream channel is used to communicate from the CM to the CMTS. A downstream channel handles communication from the CMTS to the CM. When a CMTS receives signals from the CM, the CMTS converts these signals into Internet Protocol (IP) packets, which are then sent to an IP router for transmission across the Internet or service provider network. When a CMTS sends signals to a cable modem, the CMTS modulates the downstream signals for transmission across the cable to the cable modem.
Ideally, at the time of manufacture a CM is assigned a MAC address that uniquely identifies that cable modem. Either through error at the time of manufacture, or through malicious intent (hacking), a cable modem may appear on a cable network with a MAC address that has already been assigned to another cable modem. As the MAC address is often the sole identifier used to identify and authenticate a cable modem in order to provide cable modem network connectivity and for billing purposes, it is imperative to guarantee the uniqueness of the MAC address for each cable modem in order to thwart “theft of services.”
The DHCP server uses the CM MAC address to determine whether a customer should receive cable modem service (based on finding the MAC address in a provisioning/authentication database) and what kind of service should be received. If a “rogue” cable modem were to share the same MAC address as a legitimate cable modem, the “rogue” would receive the same level of service as the legitimate CM. If the legitimate cable modem user is charged for service based upon the quantity of service used, it is likely that the legitimate user will be charged for the bandwidth consumed by the “rogue” CM that shares the same MAC address.
Typically, when a CM is connected to a cable network and powered on, the CM issues a DHCP request message requesting that an IP address be assigned to that CM. The DHCP request message contains the CM's MAC address. The CMTS receives the DHCP request and adds its own unique identifier (typically referred to as a gateway interface address or “giaddr”) to the DHCP request. The giaddr identifies the CMTS through which the CM is communicating and is used by the DHCP server to determine from which pool of IP addresses a specific IP address for the CM will be selected. Thus, the intended function of the giaddr is to aid in the assignment of IP addresses.
In some cable systems, the CMTS will have a look-up table of CM MAC addresses and logic to deny access to a CM when the MAC address is not in the look-up table. Additionally, this type of CMTS may also reject the second occurrence of a MAC address presented to it. (In such cable systems, the CM “registers” with the CMTS so that only one CM with a specific MAC address may be connected at any one time.) However, even in configurations where the CMTS accesses MAC data, the CMTS is not able to discern whether the CM that presented the first MAC address to the CMTS was the legitimate CM or a user of an unauthorized a cable modem that is not entitled to receive service from the cable operator. Further, the CMTS has no way of knowing whether a CM's MAC address is being used on another CMTS.
DOCSIS 1.1 includes a host of new security related specifications based upon lessons learned from DOCSIS 1.0. The new addition related to CM provisioning is that each modem must contain a PKI certificate signed by the manufacturer which is presented to the CMTS during registration. The certificate contains the MAC address of the modem, thus allowing the CMTS to verify a modem is using the correct MAC address by comparing the MAC embedded within the certificate with the MAC in use. As the certificate is cryptographically signed by the manufacturer it cannot be changed by an end user.
This solution prevents DOCSIS 1.1+modems from functioning when only their MAC addresses have been changed. A vulnerability remains in the case where someone with physical access to two modems is capable of extracting the MAC and certificate from the first modem and then writing them to the second. In this case, the clone would be allowed on the network as the MAC and certificate would both match.
Unfortunately, in DOCSIS 1.0, the CM MAC address is the only identifier available when determining how to provision a CM during registration. Modified CM firmware has been released which allows end users to change the MAC address of their cable modem. This allows the modified modem to impersonate a legitimate provisioned modem on the DOCSIS network and receive HSD service for free.
What is needed is a means for identifying network devices having the same MAC address.
An embodiment provides a method for detecting multiple cable modems on a cable modem network that have the same MAC address. The MAC address of a cable modem is associated with the giaddr of the CMTS to which the cable modem is connected to form a MAC address/giaddr pair. A datastore stores historical MAC address/giaddr pair data. In one embodiment, that datastore comprises a central database. In an alternative embodiment, the datastore comprises a distributed database. By comparing the MAC address/giaddr pair data of a cable modem seeking to access a cable network to the MAC address/giaddr pair data in the datastore, duplicate MAC addresses can be detected and managed.
In another embodiment, during registration of a CM, the DHCP server parses the DHCP request from the CM for a value indicative of the DOCSIS version supported by the CM. The DHCP server also determines whether a CM version value has been stored in the DHCP datastore. If DOCSIS version value is not populated, DHCP will allow the CM online and update DHCP datastore to contain the DOCSIS version value provided by the CM. Thereafter, during each CM provisioning attempt, the DHCP will compare a DOCSIS version value provided by the CM against a DOCSIS version value retrieved from the datastore. When the stored DOCSIS version value is less than the CM-provided value, the CM will be allowed online and stored value will be updated to contain the higher DOCSIS version. However, if the stored DOCSIS version value is higher than the CM-provided value, and the CM only supports DOCSIS 1.0, the CM will be denied access to the network.